home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / langinfo.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  16KB  |  599 lines

  1. /* Access to locale-dependent parameters.
  2.    Copyright (C) 1995-2002,2003,2004,2005,2009 Free Software Foundation, Inc.
  3.    This file is part of the GNU C Library.
  4.  
  5.    The GNU C Library is free software; you can redistribute it and/or
  6.    modify it under the terms of the GNU Lesser General Public
  7.    License as published by the Free Software Foundation; either
  8.    version 2.1 of the License, or (at your option) any later version.
  9.  
  10.    The GNU C Library is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.    Lesser General Public License for more details.
  14.  
  15.    You should have received a copy of the GNU Lesser General Public
  16.    License along with the GNU C Library; if not, write to the Free
  17.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18.    02111-1307 USA.  */
  19.  
  20. #ifndef _LANGINFO_H
  21. #define    _LANGINFO_H 1
  22.  
  23. /* Get the type definition.  */
  24. #include <nl_types.h>
  25.  
  26. #include <bits/locale.h>    /* Define the __LC_* category names.  */
  27.  
  28.  
  29. __BEGIN_DECLS
  30.  
  31. /* Construct an `nl_item' value for `nl_langinfo' from a locale category
  32.    (LC_*) and an item index within the category.  Some code may depend on
  33.    the item values within a category increasing monotonically with the
  34.    indices.  */
  35. #define _NL_ITEM(category, index)    (((category) << 16) | (index))
  36.  
  37. /* Extract the category and item index from a constructed `nl_item' value.  */
  38. #define _NL_ITEM_CATEGORY(item)        ((int) (item) >> 16)
  39. #define _NL_ITEM_INDEX(item)        ((int) (item) & 0xffff)
  40.  
  41. /* Enumeration of locale items that can be queried with `nl_langinfo'.  */
  42. enum
  43. {
  44.   /* LC_TIME category: date and time formatting.  */
  45.  
  46.   /* Abbreviated days of the week. */
  47.   ABDAY_1 = _NL_ITEM (__LC_TIME, 0), /* Sun */
  48. #define ABDAY_1            ABDAY_1
  49.   ABDAY_2,
  50. #define ABDAY_2            ABDAY_2
  51.   ABDAY_3,
  52. #define ABDAY_3            ABDAY_3
  53.   ABDAY_4,
  54. #define ABDAY_4            ABDAY_4
  55.   ABDAY_5,
  56. #define ABDAY_5            ABDAY_5
  57.   ABDAY_6,
  58. #define ABDAY_6            ABDAY_6
  59.   ABDAY_7,
  60. #define ABDAY_7            ABDAY_7
  61.  
  62.   /* Long-named days of the week. */
  63.   DAY_1,            /* Sunday */
  64. #define DAY_1            DAY_1
  65.   DAY_2,            /* Monday */
  66. #define DAY_2            DAY_2
  67.   DAY_3,            /* Tuesday */
  68. #define DAY_3            DAY_3
  69.   DAY_4,            /* Wednesday */
  70. #define DAY_4            DAY_4
  71.   DAY_5,            /* Thursday */
  72. #define DAY_5            DAY_5
  73.   DAY_6,            /* Friday */
  74. #define DAY_6            DAY_6
  75.   DAY_7,            /* Saturday */
  76. #define DAY_7            DAY_7
  77.  
  78.   /* Abbreviated month names.  */
  79.   ABMON_1,            /* Jan */
  80. #define ABMON_1            ABMON_1
  81.   ABMON_2,
  82. #define ABMON_2            ABMON_2
  83.   ABMON_3,
  84. #define ABMON_3            ABMON_3
  85.   ABMON_4,
  86. #define ABMON_4            ABMON_4
  87.   ABMON_5,
  88. #define ABMON_5            ABMON_5
  89.   ABMON_6,
  90. #define ABMON_6            ABMON_6
  91.   ABMON_7,
  92. #define ABMON_7            ABMON_7
  93.   ABMON_8,
  94. #define ABMON_8            ABMON_8
  95.   ABMON_9,
  96. #define ABMON_9            ABMON_9
  97.   ABMON_10,
  98. #define ABMON_10        ABMON_10
  99.   ABMON_11,
  100. #define ABMON_11        ABMON_11
  101.   ABMON_12,
  102. #define ABMON_12        ABMON_12
  103.  
  104.   /* Long month names.  */
  105.   MON_1,            /* January */
  106. #define MON_1            MON_1
  107.   MON_2,
  108. #define MON_2            MON_2
  109.   MON_3,
  110. #define MON_3            MON_3
  111.   MON_4,
  112. #define MON_4            MON_4
  113.   MON_5,
  114. #define MON_5            MON_5
  115.   MON_6,
  116. #define MON_6            MON_6
  117.   MON_7,
  118. #define MON_7            MON_7
  119.   MON_8,
  120. #define MON_8            MON_8
  121.   MON_9,
  122. #define MON_9            MON_9
  123.   MON_10,
  124. #define MON_10            MON_10
  125.   MON_11,
  126. #define MON_11            MON_11
  127.   MON_12,
  128. #define MON_12            MON_12
  129.  
  130.   AM_STR,            /* Ante meridiem string.  */
  131. #define AM_STR            AM_STR
  132.   PM_STR,            /* Post meridiem string.  */
  133. #define PM_STR            PM_STR
  134.  
  135.   D_T_FMT,            /* Date and time format for strftime.  */
  136. #define D_T_FMT            D_T_FMT
  137.   D_FMT,            /* Date format for strftime.  */
  138. #define D_FMT            D_FMT
  139.   T_FMT,            /* Time format for strftime.  */
  140. #define T_FMT            T_FMT
  141.   T_FMT_AMPM,            /* 12-hour time format for strftime.  */
  142. #define T_FMT_AMPM        T_FMT_AMPM
  143.  
  144.   ERA,                /* Alternate era.  */
  145. #define ERA            ERA
  146.   __ERA_YEAR,            /* Year in alternate era format.  */
  147. #ifdef __USE_GNU
  148. # define ERA_YEAR        __ERA_YEAR
  149. #endif
  150.   ERA_D_FMT,            /* Date in alternate era format.  */
  151. #define ERA_D_FMT        ERA_D_FMT
  152.   ALT_DIGITS,            /* Alternate symbols for digits.  */
  153. #define ALT_DIGITS        ALT_DIGITS
  154.   ERA_D_T_FMT,            /* Date and time in alternate era format.  */
  155. #define ERA_D_T_FMT        ERA_D_T_FMT
  156.   ERA_T_FMT,            /* Time in alternate era format.  */
  157. #define ERA_T_FMT        ERA_T_FMT
  158.  
  159.   _NL_TIME_ERA_NUM_ENTRIES,    /* Number entries in the era arrays.  */
  160.   _NL_TIME_ERA_ENTRIES,        /* Structure with era entries in usable form.*/
  161.  
  162.   _NL_WABDAY_1,        /* Sun */
  163.   _NL_WABDAY_2,
  164.   _NL_WABDAY_3,
  165.   _NL_WABDAY_4,
  166.   _NL_WABDAY_5,
  167.   _NL_WABDAY_6,
  168.   _NL_WABDAY_7,
  169.  
  170.   /* Long-named days of the week. */
  171.   _NL_WDAY_1,        /* Sunday */
  172.   _NL_WDAY_2,        /* Monday */
  173.   _NL_WDAY_3,        /* Tuesday */
  174.   _NL_WDAY_4,        /* Wednesday */
  175.   _NL_WDAY_5,        /* Thursday */
  176.   _NL_WDAY_6,        /* Friday */
  177.   _NL_WDAY_7,        /* Saturday */
  178.  
  179.   /* Abbreviated month names.  */
  180.   _NL_WABMON_1,        /* Jan */
  181.   _NL_WABMON_2,
  182.   _NL_WABMON_3,
  183.   _NL_WABMON_4,
  184.   _NL_WABMON_5,
  185.   _NL_WABMON_6,
  186.   _NL_WABMON_7,
  187.   _NL_WABMON_8,
  188.   _NL_WABMON_9,
  189.   _NL_WABMON_10,
  190.   _NL_WABMON_11,
  191.   _NL_WABMON_12,
  192.  
  193.   /* Long month names.  */
  194.   _NL_WMON_1,        /* January */
  195.   _NL_WMON_2,
  196.   _NL_WMON_3,
  197.   _NL_WMON_4,
  198.   _NL_WMON_5,
  199.   _NL_WMON_6,
  200.   _NL_WMON_7,
  201.   _NL_WMON_8,
  202.   _NL_WMON_9,
  203.   _NL_WMON_10,
  204.   _NL_WMON_11,
  205.   _NL_WMON_12,
  206.  
  207.   _NL_WAM_STR,        /* Ante meridiem string.  */
  208.   _NL_WPM_STR,        /* Post meridiem string.  */
  209.  
  210.   _NL_WD_T_FMT,        /* Date and time format for strftime.  */
  211.   _NL_WD_FMT,        /* Date format for strftime.  */
  212.   _NL_WT_FMT,        /* Time format for strftime.  */
  213.   _NL_WT_FMT_AMPM,    /* 12-hour time format for strftime.  */
  214.  
  215.   _NL_WERA_YEAR,    /* Year in alternate era format.  */
  216.   _NL_WERA_D_FMT,    /* Date in alternate era format.  */
  217.   _NL_WALT_DIGITS,    /* Alternate symbols for digits.  */
  218.   _NL_WERA_D_T_FMT,    /* Date and time in alternate era format.  */
  219.   _NL_WERA_T_FMT,    /* Time in alternate era format.  */
  220.  
  221.   _NL_TIME_WEEK_NDAYS,
  222.   _NL_TIME_WEEK_1STDAY,
  223.   _NL_TIME_WEEK_1STWEEK,
  224.   _NL_TIME_FIRST_WEEKDAY,
  225.   _NL_TIME_FIRST_WORKDAY,
  226.   _NL_TIME_CAL_DIRECTION,
  227.   _NL_TIME_TIMEZONE,
  228.  
  229.   _DATE_FMT,        /* strftime format for date.  */
  230. #define _DATE_FMT    _DATE_FMT
  231.   _NL_W_DATE_FMT,
  232.  
  233.   _NL_TIME_CODESET,
  234.  
  235.   _NL_NUM_LC_TIME,    /* Number of indices in LC_TIME category.  */
  236.  
  237.   /* LC_COLLATE category: text sorting.
  238.      This information is accessed by the strcoll and strxfrm functions.
  239.      These `nl_langinfo' names are used only internally.  */
  240.   _NL_COLLATE_NRULES = _NL_ITEM (__LC_COLLATE, 0),
  241.   _NL_COLLATE_RULESETS,
  242.   _NL_COLLATE_TABLEMB,
  243.   _NL_COLLATE_WEIGHTMB,
  244.   _NL_COLLATE_EXTRAMB,
  245.   _NL_COLLATE_INDIRECTMB,
  246.   _NL_COLLATE_GAP1,
  247.   _NL_COLLATE_GAP2,
  248.   _NL_COLLATE_GAP3,
  249.   _NL_COLLATE_TABLEWC,
  250.   _NL_COLLATE_WEIGHTWC,
  251.   _NL_COLLATE_EXTRAWC,
  252.   _NL_COLLATE_INDIRECTWC,
  253.   _NL_COLLATE_SYMB_HASH_SIZEMB,
  254.   _NL_COLLATE_SYMB_TABLEMB,
  255.   _NL_COLLATE_SYMB_EXTRAMB,
  256.   _NL_COLLATE_COLLSEQMB,
  257.   _NL_COLLATE_COLLSEQWC,
  258.   _NL_COLLATE_CODESET,
  259.   _NL_NUM_LC_COLLATE,
  260.  
  261.   /* LC_CTYPE category: character classification.
  262.      This information is accessed by the functions in <ctype.h>.
  263.      These `nl_langinfo' names are used only internally.  */
  264.   _NL_CTYPE_CLASS = _NL_ITEM (__LC_CTYPE, 0),
  265.   _NL_CTYPE_TOUPPER,
  266.   _NL_CTYPE_GAP1,
  267.   _NL_CTYPE_TOLOWER,
  268.   _NL_CTYPE_GAP2,
  269.   _NL_CTYPE_CLASS32,
  270.   _NL_CTYPE_GAP3,
  271.   _NL_CTYPE_GAP4,
  272.   _NL_CTYPE_GAP5,
  273.   _NL_CTYPE_GAP6,
  274.   _NL_CTYPE_CLASS_NAMES,
  275.   _NL_CTYPE_MAP_NAMES,
  276.   _NL_CTYPE_WIDTH,
  277.   _NL_CTYPE_MB_CUR_MAX,
  278.   _NL_CTYPE_CODESET_NAME,
  279.   CODESET = _NL_CTYPE_CODESET_NAME,
  280. #define CODESET            CODESET
  281.   _NL_CTYPE_TOUPPER32,
  282.   _NL_CTYPE_TOLOWER32,
  283.   _NL_CTYPE_CLASS_OFFSET,
  284.   _NL_CTYPE_MAP_OFFSET,
  285.   _NL_CTYPE_INDIGITS_MB_LEN,
  286.   _NL_CTYPE_INDIGITS0_MB,
  287.   _NL_CTYPE_INDIGITS1_MB,
  288.   _NL_CTYPE_INDIGITS2_MB,
  289.   _NL_CTYPE_INDIGITS3_MB,
  290.   _NL_CTYPE_INDIGITS4_MB,
  291.   _NL_CTYPE_INDIGITS5_MB,
  292.   _NL_CTYPE_INDIGITS6_MB,
  293.   _NL_CTYPE_INDIGITS7_MB,
  294.   _NL_CTYPE_INDIGITS8_MB,
  295.   _NL_CTYPE_INDIGITS9_MB,
  296.   _NL_CTYPE_INDIGITS_WC_LEN,
  297.   _NL_CTYPE_INDIGITS0_WC,
  298.   _NL_CTYPE_INDIGITS1_WC,
  299.   _NL_CTYPE_INDIGITS2_WC,
  300.   _NL_CTYPE_INDIGITS3_WC,
  301.   _NL_CTYPE_INDIGITS4_WC,
  302.   _NL_CTYPE_INDIGITS5_WC,
  303.   _NL_CTYPE_INDIGITS6_WC,
  304.   _NL_CTYPE_INDIGITS7_WC,
  305.   _NL_CTYPE_INDIGITS8_WC,
  306.   _NL_CTYPE_INDIGITS9_WC,
  307.   _NL_CTYPE_OUTDIGIT0_MB,
  308.   _NL_CTYPE_OUTDIGIT1_MB,
  309.   _NL_CTYPE_OUTDIGIT2_MB,
  310.   _NL_CTYPE_OUTDIGIT3_MB,
  311.   _NL_CTYPE_OUTDIGIT4_MB,
  312.   _NL_CTYPE_OUTDIGIT5_MB,
  313.   _NL_CTYPE_OUTDIGIT6_MB,
  314.   _NL_CTYPE_OUTDIGIT7_MB,
  315.   _NL_CTYPE_OUTDIGIT8_MB,
  316.   _NL_CTYPE_OUTDIGIT9_MB,
  317.   _NL_CTYPE_OUTDIGIT0_WC,
  318.   _NL_CTYPE_OUTDIGIT1_WC,
  319.   _NL_CTYPE_OUTDIGIT2_WC,
  320.   _NL_CTYPE_OUTDIGIT3_WC,
  321.   _NL_CTYPE_OUTDIGIT4_WC,
  322.   _NL_CTYPE_OUTDIGIT5_WC,
  323.   _NL_CTYPE_OUTDIGIT6_WC,
  324.   _NL_CTYPE_OUTDIGIT7_WC,
  325.   _NL_CTYPE_OUTDIGIT8_WC,
  326.   _NL_CTYPE_OUTDIGIT9_WC,
  327.   _NL_CTYPE_TRANSLIT_TAB_SIZE,
  328.   _NL_CTYPE_TRANSLIT_FROM_IDX,
  329.   _NL_CTYPE_TRANSLIT_FROM_TBL,
  330.   _NL_CTYPE_TRANSLIT_TO_IDX,
  331.   _NL_CTYPE_TRANSLIT_TO_TBL,
  332.   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
  333.   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
  334.   _NL_CTYPE_TRANSLIT_IGNORE_LEN,
  335.   _NL_CTYPE_TRANSLIT_IGNORE,
  336.   _NL_CTYPE_MAP_TO_NONASCII,
  337.   _NL_CTYPE_EXTRA_MAP_1,
  338.   _NL_CTYPE_EXTRA_MAP_2,
  339.   _NL_CTYPE_EXTRA_MAP_3,
  340.   _NL_CTYPE_EXTRA_MAP_4,
  341.   _NL_CTYPE_EXTRA_MAP_5,
  342.   _NL_CTYPE_EXTRA_MAP_6,
  343.   _NL_CTYPE_EXTRA_MAP_7,
  344.   _NL_CTYPE_EXTRA_MAP_8,
  345.   _NL_CTYPE_EXTRA_MAP_9,
  346.   _NL_CTYPE_EXTRA_MAP_10,
  347.   _NL_CTYPE_EXTRA_MAP_11,
  348.   _NL_CTYPE_EXTRA_MAP_12,
  349.   _NL_CTYPE_EXTRA_MAP_13,
  350.   _NL_CTYPE_EXTRA_MAP_14,
  351.   _NL_NUM_LC_CTYPE,
  352.  
  353.   /* LC_MONETARY category: formatting of monetary quantities.
  354.      These items each correspond to a member of `struct lconv',
  355.      defined in <locale.h>.  */
  356.   __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0),
  357. #ifdef __USE_GNU
  358. # define INT_CURR_SYMBOL    __INT_CURR_SYMBOL
  359. #endif
  360.   __CURRENCY_SYMBOL,
  361. #ifdef __USE_GNU
  362. # define CURRENCY_SYMBOL    __CURRENCY_SYMBOL
  363. #endif
  364.   __MON_DECIMAL_POINT,
  365. #ifdef __USE_GNU
  366. # define MON_DECIMAL_POINT    __MON_DECIMAL_POINT
  367. #endif
  368.   __MON_THOUSANDS_SEP,
  369. #ifdef __USE_GNU
  370. # define MON_THOUSANDS_SEP    __MON_THOUSANDS_SEP
  371. #endif
  372.   __MON_GROUPING,
  373. #ifdef __USE_GNU
  374. # define MON_GROUPING        __MON_GROUPING
  375. #endif
  376.   __POSITIVE_SIGN,
  377. #ifdef __USE_GNU
  378. # define POSITIVE_SIGN        __POSITIVE_SIGN
  379. #endif
  380.   __NEGATIVE_SIGN,
  381. #ifdef __USE_GNU
  382. # define NEGATIVE_SIGN        __NEGATIVE_SIGN
  383. #endif
  384.   __INT_FRAC_DIGITS,
  385. #ifdef __USE_GNU
  386. # define INT_FRAC_DIGITS    __INT_FRAC_DIGITS
  387. #endif
  388.   __FRAC_DIGITS,
  389. #ifdef __USE_GNU
  390. # define FRAC_DIGITS        __FRAC_DIGITS
  391. #endif
  392.   __P_CS_PRECEDES,
  393. #ifdef __USE_GNU
  394. # define P_CS_PRECEDES        __P_CS_PRECEDES
  395. #endif
  396.   __P_SEP_BY_SPACE,
  397. #ifdef __USE_GNU
  398. # define P_SEP_BY_SPACE        __P_SEP_BY_SPACE
  399. #endif
  400.   __N_CS_PRECEDES,
  401. #ifdef __USE_GNU
  402. # define N_CS_PRECEDES        __N_CS_PRECEDES
  403. #endif
  404.   __N_SEP_BY_SPACE,
  405. #ifdef __USE_GNU
  406. # define N_SEP_BY_SPACE        __N_SEP_BY_SPACE
  407. #endif
  408.   __P_SIGN_POSN,
  409. #ifdef __USE_GNU
  410. # define P_SIGN_POSN        __P_SIGN_POSN
  411. #endif
  412.   __N_SIGN_POSN,
  413. #ifdef __USE_GNU
  414. # define N_SIGN_POSN        __N_SIGN_POSN
  415. #endif
  416.   _NL_MONETARY_CRNCYSTR,
  417. #define CRNCYSTR        _NL_MONETARY_CRNCYSTR
  418.   __INT_P_CS_PRECEDES,
  419. #ifdef __USE_GNU
  420. # define INT_P_CS_PRECEDES    __INT_P_CS_PRECEDES
  421. #endif
  422.   __INT_P_SEP_BY_SPACE,
  423. #ifdef __USE_GNU
  424. # define INT_P_SEP_BY_SPACE    __INT_P_SEP_BY_SPACE
  425. #endif
  426.   __INT_N_CS_PRECEDES,
  427. #ifdef __USE_GNU
  428. # define INT_N_CS_PRECEDES    __INT_N_CS_PRECEDES
  429. #endif
  430.   __INT_N_SEP_BY_SPACE,
  431. #ifdef __USE_GNU
  432. # define INT_N_SEP_BY_SPACE    __INT_N_SEP_BY_SPACE
  433. #endif
  434.   __INT_P_SIGN_POSN,
  435. #ifdef __USE_GNU
  436. # define INT_P_SIGN_POSN    __INT_P_SIGN_POSN
  437. #endif
  438.   __INT_N_SIGN_POSN,
  439. #ifdef __USE_GNU
  440. # define INT_N_SIGN_POSN    __INT_N_SIGN_POSN
  441. #endif
  442.   _NL_MONETARY_DUO_INT_CURR_SYMBOL,
  443.   _NL_MONETARY_DUO_CURRENCY_SYMBOL,
  444.   _NL_MONETARY_DUO_INT_FRAC_DIGITS,
  445.   _NL_MONETARY_DUO_FRAC_DIGITS,
  446.   _NL_MONETARY_DUO_P_CS_PRECEDES,
  447.   _NL_MONETARY_DUO_P_SEP_BY_SPACE,
  448.   _NL_MONETARY_DUO_N_CS_PRECEDES,
  449.   _NL_MONETARY_DUO_N_SEP_BY_SPACE,
  450.   _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
  451.   _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
  452.   _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
  453.   _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
  454.   _NL_MONETARY_DUO_P_SIGN_POSN,
  455.   _NL_MONETARY_DUO_N_SIGN_POSN,
  456.   _NL_MONETARY_DUO_INT_P_SIGN_POSN,
  457.   _NL_MONETARY_DUO_INT_N_SIGN_POSN,
  458.   _NL_MONETARY_UNO_VALID_FROM,
  459.   _NL_MONETARY_UNO_VALID_TO,
  460.   _NL_MONETARY_DUO_VALID_FROM,
  461.   _NL_MONETARY_DUO_VALID_TO,
  462.   _NL_MONETARY_CONVERSION_RATE,
  463.   _NL_MONETARY_DECIMAL_POINT_WC,
  464.   _NL_MONETARY_THOUSANDS_SEP_WC,
  465.   _NL_MONETARY_CODESET,
  466.   _NL_NUM_LC_MONETARY,
  467.  
  468.   /* LC_NUMERIC category: formatting of numbers.
  469.      These also correspond to members of `struct lconv'; see <locale.h>.  */
  470.   __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0),
  471. #ifdef __USE_GNU
  472. # define DECIMAL_POINT        __DECIMAL_POINT
  473. #endif
  474.   RADIXCHAR = __DECIMAL_POINT,
  475. #define RADIXCHAR        RADIXCHAR
  476.   __THOUSANDS_SEP,
  477. #ifdef __USE_GNU
  478. # define THOUSANDS_SEP        __THOUSANDS_SEP
  479. #endif
  480.   THOUSEP = __THOUSANDS_SEP,
  481. #define THOUSEP            THOUSEP
  482.   __GROUPING,
  483. #ifdef __USE_GNU
  484. # define GROUPING        __GROUPING
  485. #endif
  486.   _NL_NUMERIC_DECIMAL_POINT_WC,
  487.   _NL_NUMERIC_THOUSANDS_SEP_WC,
  488.   _NL_NUMERIC_CODESET,
  489.   _NL_NUM_LC_NUMERIC,
  490.  
  491.   __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0), /* Regex matching ``yes'' input.  */
  492. #define YESEXPR            __YESEXPR
  493.   __NOEXPR,            /* Regex matching ``no'' input.  */
  494. #define NOEXPR            __NOEXPR
  495.   __YESSTR,            /* Output string for ``yes''.  */
  496. #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
  497. # define YESSTR            __YESSTR
  498. #endif
  499.   __NOSTR,            /* Output string for ``no''.  */
  500. #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
  501. # define NOSTR            __NOSTR
  502. #endif
  503.   _NL_MESSAGES_CODESET,
  504.   _NL_NUM_LC_MESSAGES,
  505.  
  506.   _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0),
  507.   _NL_PAPER_WIDTH,
  508.   _NL_PAPER_CODESET,
  509.   _NL_NUM_LC_PAPER,
  510.  
  511.   _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0),
  512.   _NL_NAME_NAME_GEN,
  513.   _NL_NAME_NAME_MR,
  514.   _NL_NAME_NAME_MRS,
  515.   _NL_NAME_NAME_MISS,
  516.   _NL_NAME_NAME_MS,
  517.   _NL_NAME_CODESET,
  518.   _NL_NUM_LC_NAME,
  519.  
  520.   _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0),
  521.   _NL_ADDRESS_COUNTRY_NAME,
  522.   _NL_ADDRESS_COUNTRY_POST,
  523.   _NL_ADDRESS_COUNTRY_AB2,
  524.   _NL_ADDRESS_COUNTRY_AB3,
  525.   _NL_ADDRESS_COUNTRY_CAR,
  526.   _NL_ADDRESS_COUNTRY_NUM,
  527.   _NL_ADDRESS_COUNTRY_ISBN,
  528.   _NL_ADDRESS_LANG_NAME,
  529.   _NL_ADDRESS_LANG_AB,
  530.   _NL_ADDRESS_LANG_TERM,
  531.   _NL_ADDRESS_LANG_LIB,
  532.   _NL_ADDRESS_CODESET,
  533.   _NL_NUM_LC_ADDRESS,
  534.  
  535.   _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0),
  536.   _NL_TELEPHONE_TEL_DOM_FMT,
  537.   _NL_TELEPHONE_INT_SELECT,
  538.   _NL_TELEPHONE_INT_PREFIX,
  539.   _NL_TELEPHONE_CODESET,
  540.   _NL_NUM_LC_TELEPHONE,
  541.  
  542.   _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0),
  543.   _NL_MEASUREMENT_CODESET,
  544.   _NL_NUM_LC_MEASUREMENT,
  545.  
  546.   _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0),
  547.   _NL_IDENTIFICATION_SOURCE,
  548.   _NL_IDENTIFICATION_ADDRESS,
  549.   _NL_IDENTIFICATION_CONTACT,
  550.   _NL_IDENTIFICATION_EMAIL,
  551.   _NL_IDENTIFICATION_TEL,
  552.   _NL_IDENTIFICATION_FAX,
  553.   _NL_IDENTIFICATION_LANGUAGE,
  554.   _NL_IDENTIFICATION_TERRITORY,
  555.   _NL_IDENTIFICATION_AUDIENCE,
  556.   _NL_IDENTIFICATION_APPLICATION,
  557.   _NL_IDENTIFICATION_ABBREVIATION,
  558.   _NL_IDENTIFICATION_REVISION,
  559.   _NL_IDENTIFICATION_DATE,
  560.   _NL_IDENTIFICATION_CATEGORY,
  561.   _NL_IDENTIFICATION_CODESET,
  562.   _NL_NUM_LC_IDENTIFICATION,
  563.  
  564.   /* This marks the highest value used.  */
  565.   _NL_NUM
  566. };
  567.  
  568. /* This macro produces an item you can pass to `nl_langinfo' or
  569.    `nl_langinfo_l' to get the name of the locale in use for CATEGORY.  */
  570. #define _NL_LOCALE_NAME(category)    _NL_ITEM ((category), -1)
  571. #ifdef __USE_GNU
  572. # define NL_LOCALE_NAME(category)    _NL_LOCALE_NAME (category)
  573. #endif
  574.  
  575.  
  576. /* Return the current locale's value for ITEM.
  577.    If ITEM is invalid, an empty string is returned.
  578.  
  579.    The string returned will not change until `setlocale' is called;
  580.    it is usually in read-only memory and cannot be modified.  */
  581.  
  582. extern char *nl_langinfo (nl_item __item) __THROW;
  583.  
  584.  
  585. #ifdef    __USE_XOPEN2K
  586. /* This interface is for the extended locale model.  See <locale.h> for
  587.    more information.  */
  588.  
  589. /* Get locale datatype definition.  */
  590. # include <xlocale.h>
  591.  
  592. /* Just like nl_langinfo but get the information from the locale object L.  */
  593. extern char *nl_langinfo_l (nl_item __item, __locale_t __l);
  594. #endif
  595.  
  596. __END_DECLS
  597.  
  598. #endif    /* langinfo.h */
  599.